<?php
// Nuestro Charset será UTF-8
header('Content-Type: text/html; charset=utf-8');

/**********
SECURE determinará si se está entrando a la aplicación
por una ruta válida (por ejemplo, si se quisiera acceder
diréctamente al directorio de los controladores)
**********/
	define('SECURE', TRUE);
/**********
Rutas
**********/
	define('MODELS', "mdl/");
	define('CONTROLLERS', "ctrl/");
	define('VIEWS', "tpl/");
	define('LIBRARIES', "lib/");

/**********
Extención de los archivos
**********/
	define('C_EXT', "_ctrl.php");	// Controladores
	define('M_EXT', "_mdl.php");	// Modelos
	define('V_EXT', "_view.php");	// Vistas
	define('L_EXT', "_lib.php");	// Vistas

/**********
DEFAULT CONTROLLER
**********/
	define('C_DEFAULT', "Main");

/**********
Incluyo configuraciones y 
funciones.
**********/
	require_once('config.php');
	require_once('common.php');


/**********
|
| _GET['c'] Tendrá el controlador que se va a utilizar.
| _GET['action'] Tendrá la acción a realizar.
|
**********/
if(!isset($_GET['c']) || $_GET['c'] == '') {
	// Cargo el controlador default
	$controller = load_controller(C_DEFAULT);
	if(!$controller)	exit('Configuración Erronea (Default Controller)');
}
else {
	$controller = load_controller($_GET['c']);
	if(!$controller)	header('Location: http://'.$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']);
}	

if(isset($_GET['action']))
	$action = ucfirst(strtolower($_GET['action']));

// ¿El método existe en el controlador?
if(isset($action) && $action != '' && method_exists($controller, $action)) 
	$controller->$action();
elseif(!isset($action))
	$controller->Main();
else	
	header('Location: http://'.$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."?c=".$_GET['c']);


?>
